package com.learnyou.server.xingzuo.dto.paramDTO;

import com.learnyou.server.xingzuo.common.validator.AddGroup;
import com.learnyou.server.xingzuo.common.validator.UpdateGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * @author heweifeng
 * @Description:
 * @date 2022/10/14 14:59
 */
@Data
public class OrgDTO {

    @NotNull(message = "id不能为空", groups = {UpdateGroup.class})
    @ApiModelProperty(value = "机构id")
    private Integer id;

    @NotEmpty(message = "机构名称不能为空", groups = {AddGroup.class})
    @ApiModelProperty(value = "机构名称（营业执照全名）", required = true)
    private String orgName;

    @NotEmpty(message = "机构名称简称不能为空", groups = {AddGroup.class, UpdateGroup.class})
    @ApiModelProperty(value = "机构名称简称")
    private String orgShortName;

    @NotEmpty(message = "机构详细地址不能为空", groups = {AddGroup.class, UpdateGroup.class})
    @ApiModelProperty(value = "机构详细地址", required = true)
    private String orgAddress;

    @ApiModelProperty(value = "机构营业执照")
    private String orgBizCertificate;

    @NotEmpty(message = "法人真实姓名不能为空", groups = {AddGroup.class, UpdateGroup.class})
    @ApiModelProperty(value = "法人真实姓名", required = true)
    private String ownerName;

    @ApiModelProperty(value = "机构法人身份证正面")
    private String ownerIdCardA;

    @ApiModelProperty(value = "机构法人身份证反面")
    private String ownerIdCardB;

    @NotEmpty(message = "机构法人手机号不能为空", groups = {AddGroup.class, UpdateGroup.class})
    @ApiModelProperty(value = "机构法人手机号", required = true)
    private String ownerPhone;

    @ApiModelProperty(value = "机构法人邮箱")
    private String ownerEmail;

    @ApiModelProperty(value = "过期时间")
    private Date orgExpiredAt;

    @ApiModelProperty("机构状态")
    private String orgStatus;

    @Size(max = 100, message = "机构亮点最多{max}个字符", groups = { UpdateGroup.class})
    @ApiModelProperty("机构亮点")
    private String tags;

    @ApiModelProperty("距离（米）")
    private Double distance;

    @ApiModelProperty("公众号名称")
    private String mpName;

    @ApiModelProperty("公众号二维码")
    private String mpQrImage;

    @ApiModelProperty("公众号头像")
    private String mpHeadImage;

    @ApiModelProperty("公众号菜单跳转到小程序URL")
    private String mpJumpMenuUrl;

    @ApiModelProperty("公众号认证类型")
    private int mpVerifyTypeInfo;

    @ApiModelProperty("公众号类型")
    private int mpServiceTypeInfo;

    @ApiModelProperty("公众号行业设置： -1：未知 0：设置 1： 未设置")
    private int mpIndustrySetting;

    @ApiModelProperty("公众号消息模板设置： -1：未知 0：设置 1： 未设置")
    private int mpTemplateSetting;
}
